package br.com.friendzone.modelo.relacionamento;

import java.util.Date;

import br.com.friendzone.annotations.Chave;
import br.com.friendzone.annotations.Coluna;
import br.com.friendzone.annotations.Enumerados;
import br.com.friendzone.annotations.Id;
import br.com.friendzone.annotations.Relacionamento;
import br.com.friendzone.modelo.enums.EnumRelacionamento;
import br.com.friendzone.modelo.enums.EnumSituacao;
import br.com.friendzone.modelo.pessoa.Pessoa;
import br.com.friendzone.modelo.util.SolrEntity;

@Chave(nome = "relacionamentoAmigo")
public class RelacionamentoAmigo extends SolrEntity {

	private static final long serialVersionUID = 1L;

	@Relacionamento(id = "idAmigo")
	private Pessoa amigo;

	@Relacionamento(id = "idAmigoRelacionado")
	private Pessoa amigoRelacionado;

	@Coluna(nome = "dataRelacionamento")
	private Date dataRelacionamento;

	@Id(nome = "idRelacionamento")
	private String id;

	@Enumerados(nome = "situacaoAmigo")
	private EnumSituacao situacao;

	@Enumerados(nome = "tipoRelacionamento")
	private EnumRelacionamento tipoRelacionamento;

	public Pessoa getAmigo() {
		if (amigo == null) {
			amigo = new Pessoa();
		}
		return amigo;
	}

	public Pessoa getAmigoRelacionado() {
		if (amigoRelacionado == null) {
			amigoRelacionado = new Pessoa();
		}

		return amigoRelacionado;
	}

	public Date getDataRelacionamento() {
		return dataRelacionamento;
	}

	public String getId() {
		return id;
	}


	public EnumSituacao getSituacao() {
		return situacao;
	}


	public EnumRelacionamento getTipoRelacionamento() {
		return tipoRelacionamento;
	}

	public void setAmigo(Pessoa amigo) {
		this.amigo = amigo;
	}


	public void setAmigoRelacionado(Pessoa amigoRelacionado) {
		this.amigoRelacionado = amigoRelacionado;
	}

	public void setDataRelacionamento(Date dataRelacionamento) {
		this.dataRelacionamento = dataRelacionamento;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setSituacao(EnumSituacao situacao) {
		this.situacao = situacao;
	}

	public void setTipoRelacionamento(EnumRelacionamento tipoRelacionamento) {
		this.tipoRelacionamento = tipoRelacionamento;
	}


}
